package com.e3.web.index.client;

import java.util.List;

import com.e3.web.core.client.RPCServiceHelper;
import com.e3.web.core.client.WebException;
import com.e3.web.index.model.AccordionModel;
import com.e3.web.index.model.NavigatorModel;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.RemoteService;


public interface MainFrameService extends RemoteService {
	/**
	 * Utility class for simplifying access to the instance of async service.
	 */
	public static class Util {
		private static MainFrameServiceAsync instance;
		public static MainFrameServiceAsync getInstance(){
			instance = (MainFrameServiceAsync)RPCServiceHelper.getService(MainFrameService.class.getName());
			if(instance == null){
				instance = GWT.create(MainFrameService.class);
				RPCServiceHelper.registerServiceEntryPoint(instance);
			}
			return instance;
		}
	}
	
	public List<NavigatorModel> getAllFunctionModules() throws WebException;
	
	public List<NavigatorModel> getAllShortcutModules() throws WebException;
	
	public List<AccordionModel> getAllAccordionModels() throws WebException;
}
